Table: 透過定義資料的 欄位(Column) 與 列(ROW) 所組成.
關聯式資料庫 : 系統會使用多張Table儲存資料,而Table間的關聯性是靠PK與FK來識別身分,以下會說明 PK 與 FK。RDBMS 適合用於較複雜的資料管理上,但修改的彈性較低。
ex. mySQL, Oracle...
1. 主鍵(Primary key, PK): 可想成身分證字號,每筆資料都有自己專屬識別代號,以區別不同筆資料【注意】 PK不可為 Null,因為PK是關聯式Table之間參照的ID,若NULL或者非唯一值,都會造成資料表間無法關聯。【注意】 在建立Table的時候,可以將PK設定為AI(Auto Increment),即預設的ID,新增資料時候會自動帶入數值。
phpMyAdmin 如何設定自動增量主鍵(語法+GUI設定方式)
2. 外來鍵(Foreign key, FK): 此欄位用於參照其他Table,可理解成查字典所需要的關鍵字。
【RDBMS Example】
每個USER有自己的帳號與密碼,且系統會by user紀錄不同使用者問的問題
非關聯式資料庫 : 將每張table直接定義在檔案中,類似JSON,由Key-Value組成。適合用於較簡易的資料管理上,修改彈性高。
ex. Mongo DB
【NoSQL Example】
透過{、}將每筆資料作區別(紅框代表一筆資料), 且資料在修改上有彈性,可以設定Bob有skill但Henry沒有skill
關聯式資料庫(RDBMS)與非關聯式資料庫(NoSQL)的比較 - 筆記
RDBMS vs. NOSQL | 關聯式資料庫 vs. 非關聯式資料庫
JSON 與 NoSQL
新手到進階學 MongoDB